草庐IT

mysql GRANT + WHERE

全部标签

MySql CASE WHEN THEN 也需要 WHERE?

我写了这个查询:SELECTcola,colb,colc,CASEcolbWHEN'6kHcnevOJOSU'THEN0WHEN'g45ujP0td6nw'THEN1WHEN'v83f15lALyFs'THEN2ENDASsorFROMmytable'sor'列正确返回,问题是查询返回所有行,而不仅仅是其中一种情况与colb匹配的行!我怎样才能让它只返回匹配的行?我需要添加WHERE吗?但是我总是在没有它的情况下看到这种语法。谢谢 最佳答案 只需添加一个where子句:SELECTcola,colb,colc,(CASEcolbWH

mysql - 使结果排序与给定的 WHERE IN(a,b,c) 条件匹配的查询

我正在做一些工作来使用MySQL数据库填写文档。我想要做的是根据给定的WHERE条件生成结果。以下学生表:student+-----+------------+-----------------+-----+|id|nickname|student_name|...|+-----+------------+-----------------+-----+|1|Joy|Anderson|...||2|Prank|Campbell|...|+-----+------------+-----------------+-----+我向数据库提出了以下查询:SELECTnicknameFROMs

php - mysql where 语句中的when chinese word

这个问题在这里已经有了答案:Whatisthedifferencebetweenvarcharandnvarchar?(21个回答)关闭5年前。howtoselect主页报修上广告$sql="SELECTtext,picFROMnewstablewheretype='在线报修上广告'orderbyiddesclimit0,1";但是你可能会发现返回值为null但是我试着用这个$sql="SELECTtext,picFROMnewstablewheretype=N'在线报修上广告'orderbyiddesclimit0,1";'在线报修上广告'之前有N------>>>>>但是它有效..

mysql - 如何在 where 子句中包含聚合列?

我有一个包含2列的表farmer_crops,用于存储农民与他们种植的裁剪之间的关系。农民可以种植一种或多种裁剪。下面的查询给了我不同的农民和他们种植的总裁剪。如何获得种植农裁剪的农民总数大于1(my_crops>1)?selectdistinctfarmer_id,count(crop_id)asmy_cropsfromfarmer_cropsgroupbyfarmer_id[edit]使用GMB的提示,下面的查询给了我总共2330行,这是正确的。SELECTfarmer_id,count(crop_id)asmy_cropsFROMfarmer_cropsGROUPBYfarmer

php - Mysql存储过程where子句

好的,让我再试一次。query("CALLgetemployee('$eml')");$result=$sql->fetch_array();?>这是我的存储过程:Delimiter//Createproceduregetemployee(inemlvarchar(50))BeginSelect*fromemployeeswhereemail=eml;End//Delimiter;我从浏览器得到的错误:“fatalerror:调用非对象上的成员函数fetch_array()...”。我使用的是phpmyadmin3.2.4版本和mysql客户端版本:5.1.41

MySQL从表中选择一个字段WHERE条件在多行中

试图找到答案,还是找不到..表格如下:id,keyword,value1display15.61harddrive3201ram3所以我需要的是这样的东西。从这个表中选择一个id,其中(keyword="display"andvalue="15.6")AND(keyword="harddrive"andvalue="320")也有可能会有3或4个这样的关键字条件,它们应该导致返回一个id(一行)好像有什么东西可以处理UNION,但是我之前没有用过所以想不通提前致谢 最佳答案 这是一个relationaldivision问题。像下面这

MySQL select where in but not in with join

我的数据库中有三个表:产品id(整数,主键)名称(可变字符)标签id(整数,主键)名称(可变字符)产品标签产品编号(整数)tag_id(整数)我正在执行SQL查询以选择具有给定ID的已分配标签的产品:SELECT*FROMProductsJOINProductTagsONProducts.id=ProductTags.product_idWHEREProductTags.tag_idIN(1,2,3)GROUPBYProducts.id我可以选择没有指定ID标签的产品:SELECT*FROMProductsJOINProductTagsONProducts.id=ProductTags

MySQL SELECT * WHERE 名称 = "something with a backslash\"

我有一张tabletable_id|name|amount1|Arby\'s|122|Wendy's|8我通常做一个SELECT*WHEREtable_id=whatever但我想(而不是)做:SELECT*WHEREname="Arby's";但是,我似乎遇到了反斜杠的问题。结果根本不显示。我也试过SELECT*WHEREname='Arby's;没有任何运气。如果名称包含撇号或其他特殊字符(&符号等),是否有任何方法可以按名称搜索? 最佳答案 SELECT*FROMtableWHEREname='Arby\\\'s'用一个反斜杠

MySQL SELECT 列 COUNT(name) WHERE 条件 GROUP BY 列?

嘿,这是我正在使用的SQL语句$sql="SELECTnumber,COUNT(name)FROMpeopleWHEREid='$id'GROUPBYnumber";$result=mysql_query($sql);while($row=mysql_fetch_array($result)){$statarray['stat'.$i]=$row['COUNT(name)'];$i++;}数字列针对每个名称存储0、1、2或3,因此数组返回总计每个数字有多少名称。这工作正常。唯一的问题是,如果所有的名字都存储了一个数字1,我的数组条目“stat0”不会告诉我有多少个0,因为它被1的数量所

php - 在 MySQL 的同一个 WHERE 上使用来自 PHP 的两个变量

我正在尝试使用PHP从MySQL服务器中提取数据。该信息有一个日期字段,如YYYYMM(fx.201108)。我的问题是,如果我想返回特定年份的前半年或后半年,SQL查询将如何显示?我已经厌倦了这样的事情,但是似乎忽略了小于:SELECT*FROM`poster`WHEREmdrLIKE'2011%'ANDmdr恐怕谷歌对我帮助不大。 最佳答案 您可以这样做,但不能使用VARCHAR或TEXT:SELECT*FROM`poster`WHEREmdr'201100' 关于php-在MySQ